In integrated circuit (IC) design, one of the biggest challenges in the design of high speed, high density application-specific integrated circuits (ASICs) is the implementation of clock distribution networks (i.e., clock trees) for the delivery of synchronization signals to the many logic elements (e.g., latches) on the die with minimum skew and with minimum power consumption. Traditionally, a clock tree has been implemented through a series of synthesis and physical design steps that focus on force fitting a clock distribution network to a particular logic design and then redesigning to compensate for lack of balance of capacitive and resistive loads across the distribution tree. While this has worked well in past generations of ASIC offerings, ever increasing clock speeds and latch counts, in combination with (1) larger die with the associated increase in resistive and capacitive loading, and (2) increasing sensitivity to cross chip variation in transistor parameters because of aggressive scaling of transistor dimensions, has stressed the traditional clock tree methodology.
A need exists for a clock distribution network, structure, and method that more inherently provides balanced loading in integrated circuit clock trees.